package br.edu.granbery.indianostore.action;

import java.io.IOException;
import java.text.NumberFormat;
import java.util.List;
import java.util.Locale;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.granbery.indianostore.controller.Action;
import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.dao.ProdutoDao;
import br.edu.granbery.indianostore.model.Produto;

public class ListarProdutoAction implements Action {

	@Override
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
	
		
		HttpSession sessao = request.getSession(true);
		DaoFactory factory = (DaoFactory) sessao.getAttribute("factory");
		ProdutoDao produtoDao = factory.getProdutoDao();
		List<Produto> produtos = produtoDao.buscar();
		
		Locale ptBr = new Locale("pt", "BR");
		NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(ptBr);
		
		for(Produto produto : produtos){
			produto.setFornecedor(moedaFormat.format(produto.getValor()));	
		}
		
		request.setAttribute("produtos", produtos);
		
		try {
			
			RequestDispatcher view = request.getRequestDispatcher("/home.jsp");
			view.forward(request, response);
			
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
